home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / pc / files / p_misc / netconf.arc / UNIX.TXT < prev    next >
Text File  |  1988-12-10  |  45KB  |  905 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                     Packet Radio and IP for the Unix[1] Operating
  11.                                         System
  12.  
  13.  
  14.                                Clifford Neuman, N1DMM
  15.                                     Wayne Yamamoto
  16.  
  17.                             Department of Computer Science
  18.                                University of Washington
  19.                                   Seattle, WA 98195
  20.  
  21.  
  22.                                        _A_B_S_T_R_A_C_T
  23.  
  24.                      Many services are currently available on the ARPA
  25.                 Internet  that  would be of interest to amateur packet
  26.                 radio users.  The ARPA Internet connects  universities
  27.                 and  other  organizations  around the world that speak
  28.                 TCP/IP.  One advantage of  running  TCP/IP  on  packet
  29.                 radio  is the ability to access these services, and to
  30.                 interconnect with other systems that are part  of  the
  31.                 internet.   This paper describes the implementation of
  32.                 AX.25 as a link layer protocol for the Unix  operating
  33.                 system  and  the  use  of this system as an IP gateway
  34.                 between our local amateur packet radio network and our
  35.                 department's ethernet at the University of Washington,
  36.                 which in turn provides access to the entire  Internet.
  37.                 The potential role of such a system for amateur packet
  38.                 radio is discussed, and a  mechanism  to  allow  users
  39.                 that don't have the resources to run TCP/IP themselves
  40.                 to access such services is described.
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.            _1.  _I_n_t_r_o_d_u_c_t_i_o_n
  48.  
  49.                 In the past year, we have
  50.            started  to  see  wider accep-
  51.            tance and use of  layer  three
  52.            protocols  in  amateur  packet
  53.            radio.  So far, most  of  this
  54.            activity  has  been  by people
  55.            who are interested in  advanc-
  56.            _________________________
  57.              [1] UNIX is  a  trademark
  58.            of AT&T
  59.                                              ing  the  state   of   amateur
  60.                                              packet radio.  Many are people
  61.                                              who deal  with  computer  net-
  62.                                              works   outside   of   amateur
  63.                                              radio, and would like  to  see
  64.                                              similar  facilities  available
  65.                                              within packet  radio.   Others
  66.                                              have  worked  on mechanisms to
  67.                                              solve  some  of  the  problems
  68.                                              that amateur packet radio pro-
  69.                                              duced,  and  their   solutions
  70.                                              have    made   a   significant
  71.                                              difference in the  way  people
  72.                                              use  packet radio in the parts
  73.  
  74.  
  75.                                    December 6, 1988
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.            of  the  country  where  their
  85.            solutions are being tested.
  86.  
  87.                 In order to get more  use
  88.            of  layer  three  protocols by
  89.            the  users  instead   of   the
  90.            developers,   there   are  two
  91.            requirements  that  should  be
  92.            met.   First, they need incen-
  93.            tive.  There should  be  some-
  94.            thing  that  they can do using
  95.            layer  three  protocols   that
  96.            they can't do using connection
  97.            [2] mode.   One  incentive  is
  98.            the  ability to access some of
  99.            the services available on more
  100.            established  networks  such as
  101.            the  ARPA   Internet.    Among
  102.            these  services  are  nameser-
  103.            vice, file transfer, access to
  104.            various   databases,   a  more
  105.            flexible system for electronic
  106.            mail,  and  the ability to log
  107.            into hosts on  connected  net-
  108.            works.   These services can be
  109.            made available  in  two  ways.
  110.            Servers  can exist directly on
  111.            amateur packet radio hosts, or
  112.            they  can  exist on other net-
  113.            works with a  gateway  set  up
  114.            between  the two networks.  By
  115.            connecting  our  local  packet
  116.            radio  subnet to the internet,
  117.            it is possible to access files
  118.            on, and log into, computers at
  119.            other internet  sites  (or  at
  120.            least,  those  where  we  have
  121.            accounts).
  122.  
  123.                 Secondly,  we   have   to
  124.            lower the cost of entry.  Most
  125.            packet users do not  have  IBM
  126.            PCs,     or    computers    of
  127.            equivalent or  greater  power.
  128.            Many  are  simply using termi-
  129.            _________________________
  130.              [2] By     ``connection''
  131.            mode  we  mean the existing
  132.            connection  mechanism  pro-
  133.            vided with TNCs when higher
  134.            level protocols are not be-
  135.            ing used.
  136.                                              nals connected to  their  TNC.
  137.                                              This  is  probably  one of the
  138.                                              reasons  that  NET/ROM  is  so
  139.                                              popular.   With  a packet sta-
  140.                                              tion and no special  hardware,
  141.                                              one  is  able  to connect to a
  142.                                              NET/ROM   node,   connect   to
  143.                                              another  node through the net-
  144.                                              work, and come out  the  other
  145.                                              end.  If we are to generate as
  146.                                              much interest in  layer  three
  147.                                              protocols such as TCP/IP, then
  148.                                              we must make it easy for  con-
  149.                                              nection  mode users to connect
  150.                                              to, and  use,  a  system  that
  151.                                              speaks  IP.  We can then point
  152.                                              out the advantages they  would
  153.                                              have if their own system spoke
  154.                                              IP  directly.    Among   these
  155.                                              advantages  are  the abilities
  156.                                              to exchange mail and  transfer
  157.                                              files   while   simultaneously
  158.                                              connected to one or more other
  159.                                              systems.
  160.  
  161.                                              _2.  _S_y_s_t_e_m _O_v_e_r_v_i_e_w
  162.  
  163.                                                   We  decided  one  way  to
  164.                                              approach  the  above  problems
  165.                                              would be to get a machine that
  166.                                              is  on our department's ether-
  167.                                              net onto packet radio.  We had
  168.                                              a MicroVax-I[3] available  for
  169.                                              our  use.   The  advantage  of
  170.                                              using such a machine  is  that
  171.                                              it  already  supports  many of
  172.                                              the network services that  are
  173.                                              desirable  in the packet radio
  174.                                              community.   Among  these  are
  175.                                              electronic mail, remote login,
  176.                                              file transfer, and  name  ser-
  177.                                              vice.   Although not presently
  178.                                              running on the machine,  there
  179.                                              are  other applications avail-
  180.                                              able  too,  such  as   NNTP[4]
  181.                                              which  could be used as a bul-
  182.                                              _________________________
  183.                                                [3] MicroVax is a  trade-
  184.                                              mark  of  Digital Equipment
  185.                                              Corporation
  186.                                                [4] Netnews Transfer Pro-
  187.                                              tocol
  188.  
  189.  
  190.                                    December 6, 1988
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.            letin distribution mechanism.
  200.  
  201.                 The existence of  such  a
  202.            system  gives  users  who have
  203.            brought up TCP/IP something to
  204.            connect  to.  The next step is
  205.            to give people who aren't  yet
  206.            running  TCP/IP something with
  207.            which they can connect.  To do
  208.            this,  we  want to allow users
  209.            to connect to  our  system  in
  210.            connection  mode, and for them
  211.            to be able  to  login  to  our
  212.            system by this mechanism.  The
  213.            only other service we want  to
  214.            support  in connection mode is
  215.            mail.  We  would  like  to  be
  216.            able  to  exchange  mail  with
  217.            PBBSs,   which   don't   speak
  218.            TCP/IP.
  219.  
  220.            _3.  _R_o_l_e _i_n _a _p_a_c_k_e_t _n_e_t_w_o_r_k
  221.  
  222.                 A machine such as the one
  223.            I   described   above   serves
  224.            several functions in a  packet
  225.            radio  network.   It functions
  226.            as a server for  various  net-
  227.            work  services.   It is useful
  228.            as  a  ``home''  machine   for
  229.            those  users  who  do not have
  230.            computers of  their  own.   It
  231.            also  can  serve  as a gateway
  232.            between multiple  packet  sub-
  233.            nets,  and  perhaps  even non-
  234.            amateur  networks.    I   have
  235.            already described its use as a
  236.            server.   In  this  section  I
  237.            describe  its  use  in some of
  238.            these other functions.
  239.  
  240.            _3._1.  _H_o_m_e _m_a_c_h_i_n_e_s
  241.  
  242.                 For those users who don't
  243.            have  IP  running, our machine
  244.            can serve as a  home  machine.
  245.            Users  can  connect  to  it by
  246.            using  connection  mode.   The
  247.            system  can  support  multiple
  248.            connections   of   this   type
  249.            simultaneously.   When  a user
  250.            is connected to our system, he
  251.            can  use  the various services
  252.            available  to  IP  hosts.   He
  253.                                              also  will be allocated a lim-
  254.                                              ited amount of disk space, and
  255.                                              will be able to retrieve files
  256.                                              in  which  he  is  interested.
  257.                                              The  mail  interface  the user
  258.                                              will be able to use presents a
  259.                                              better interface than the cen-
  260.                                              tral BBOARD mechanism which is
  261.                                              currently  in  use.   The user
  262.                                              will be able to store messages
  263.                                              indefinitely  as  long  as  he
  264.                                              doesn't exceed his quota.
  265.  
  266.                                              _3._2.  _L_e_v_e_l _2 _t_o _L_e_v_e_l _3 _G_a_t_e_-
  267.                                              _w_a_y
  268.  
  269.                                                   Since the user  can  con-
  270.                                              nect  to the system using con-
  271.                                              nection mode,  and  since  the
  272.                                              system  also  speaks  TCP, the
  273.                                              system serves as a Level 2  to
  274.                                              Level  3  gateway.  Users will
  275.                                              not have to  give  up  connec-
  276.                                              tivity  with  the old in order
  277.                                              to begin using the new.
  278.  
  279.                                              _3._3.  _I_P _G_a_t_e_w_a_y
  280.  
  281.                                                   A machine such as the one
  282.                                              described above is also a log-
  283.                                              ical machine to use as  an  IP
  284.                                              gateway,  at  least until such
  285.                                              time  as  we  have   dedicated
  286.                                              machines  for  such  purposes.
  287.                                              Gatewaying  could  be  between
  288.                                              multiple   packet  radio  net-
  289.                                              works, and even  between  non-
  290.                                              radio  networks  such  as  the
  291.                                              ARPA Internet.
  292.  
  293.                                                   There are services avail-
  294.                                              able on the ARPA Internet that
  295.                                              are  of  interest  to   packet
  296.                                              radio  users.   If  there is a
  297.                                              university in the area, it  is
  298.                                              likely  that  there  may be an
  299.                                              online  database  of  upcoming
  300.                                              events.   There  are also many
  301.                                              mailing lists on the  Internet
  302.                                              that  might  be of interest to
  303.                                              Amateurs.
  304.  
  305.                                                   Connecting to non-amateur
  306.                                              networks   does   bring  up  a
  307.  
  308.  
  309.                                    December 6, 1988
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.            number  of  issues,  such   as
  319.            screening  of messages in both
  320.            directions.  I  discuss  solu-
  321.            tions to this problem later in
  322.            this paper.
  323.  
  324.            _3._4.  _N_E_T/_R_O_M
  325.  
  326.                 NET/ROM  fits  in  nicely
  327.            with TCP/IP.  IP can be run on
  328.            top of NET/ROM.   In  such  an
  329.            arrangement,  users  on  a LAN
  330.            would  speak  IP  on  top   of
  331.            AX.25.   Multiple  LANs  could
  332.            then be linked together  using
  333.            NET/ROM.   An IP gateway would
  334.            exist on each local area  net-
  335.            work  and  would  appear  as a
  336.            NET/ROM node to other  NET/ROM
  337.            stations.  This arrangement is
  338.            similar to the way that  local
  339.            area  networks  are  linked by
  340.            the  ARPAnet.   NET/ROM  nodes
  341.            correspond  to the IMPs on net
  342.            10.
  343.  
  344.            _4.  _R_e_l_a_t_e_d _W_o_r_k
  345.  
  346.                 There has been a  lot  of
  347.            work  recently  in  the TCP/IP
  348.            arena.  Work has been done  on
  349.            Phil  Karn's  IBM-PC code, and
  350.            it has been  ported  to  other
  351.            machines  such  as  the Amiga,
  352.            the Mac,  and  others.   Steve
  353.            Ward  and  Mike Chepponis have
  354.            been  working  on   additional
  355.            features   in  order  to  give
  356.            users  greater  incentive   to
  357.            upgrade to TCP/IP.
  358.  
  359.                 Implementations  of   the
  360.            TCP/IP  code  are  needed  for
  361.            many more machines.   Services
  362.            such   as   the  ones  I  have
  363.            described also are needed  for
  364.            these machines.  Not many peo-
  365.            ple have access to a  MicroVax
  366.            as   I  did.   It  is  a  good
  367.            machine to  use  in  order  to
  368.            determine  how  network  users
  369.            react to such  services.   The
  370.            more  machines  such  services
  371.            are  available  on,  the  more
  372.                                              people  will  be  able  to set
  373.                                              them up.
  374.  
  375.                                              _5.  _I_m_p_l_e_m_e_n_t_a_t_i_o_n
  376.  
  377.                                                   The   Ultrix[5]    kernel
  378.                                              already   had   all  the  code
  379.                                              necessary for Internet  Proto-
  380.                                              col.    Because   we  did  not
  381.                                              modify the ``upper'' IP inter-
  382.                                              face,  layers riding on top of
  383.                                              IP were able to use the packet
  384.                                              radio medium without modifica-
  385.                                              tion.  Thus, TCP and  UDP  did
  386.                                              not  need  to be modified and,
  387.                                              similarly,  applications  run-
  388.                                              ning on top of those protocols
  389.                                              worked  without  modification.
  390.                                              The  IP code in the kernel did
  391.                                              not    require    modification
  392.                                              either.   All we had to do was
  393.                                              to find a way to take  the  IP
  394.                                              packets  generated by the ker-
  395.                                              nel,   encapsulate   them   in
  396.                                              AX.25  packets,  and send them
  397.                                              off, using SLIP, to  the  KISS
  398.                                              interface of the TNC.
  399.  
  400.                                              _5._1.  _I_P  _a_n_d  _A_X._2_5  _a_n_d  _t_h_e
  401.                                              _g_a_t_e_w_a_y
  402.  
  403.                                                   We chose to  implement  a
  404.                                              pseudo-device  driver  for the
  405.                                              packet radio  interface.   The
  406.                                              driver supports the same calls
  407.                                              as network device  drivers  do
  408.                                              for other media such as ether-
  409.                                              net.  Our driver is  a  pseudo
  410.                                              driver  because  there  is not
  411.                                              really any hardware on the bus
  412.                                              for   our  packet  radio  con-
  413.                                              troller.   Instead,  our  con-
  414.                                              troller   is  plugged  into  a
  415.                                              dz[6]  port,  and  the  kernel
  416.                                              must   communicate   with   it
  417.                                              through that port.
  418.                                              _________________________
  419.                                                [5] Ultrix is a trademark
  420.                                              of  Digital  Equipment Cor-
  421.                                              poration
  422.                                                [6] A controller for mul-
  423.                                              tiple RS-232 ports
  424.  
  425.  
  426.                                    December 6, 1988
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.                 Teaching  the  kernel  to
  436.            recognize  the  new  interface
  437.            was easy.  There is  a  struc-
  438.            ture  called  if_net  that  is
  439.            associated  with  each  inter-
  440.            face.  This structure contains
  441.            pointers to  the  kernel  pro-
  442.            cedures,  which  are  used  to
  443.            initialize the interface, send
  444.            a  packet,  change parameters,
  445.            and a  few  other  operations.
  446.            The  next  trick was to figure
  447.            out how we could receive pack-
  448.            ets.  This was done by includ-
  449.            ing a routine similar  to  the
  450.            one  that  gets  called in the
  451.            ethernet driver when a  packet
  452.            arrives.     The   difference,
  453.            though, is that our routine is
  454.            called  by the dz driver when-
  455.            ever a character  is  received
  456.            on  the  line to which the TNC
  457.            is connected.
  458.  
  459.                 As  each   character   is
  460.            read,  we do some initial pro-
  461.            cessing on the fly.   In  par-
  462.            ticular, we unescape frame end
  463.            characters that  are  embedded
  464.            in the packet.  When the final
  465.            frame end is  read,  we  check
  466.            the  header  of  the  message,
  467.            note the callsigns,  note  the
  468.            layer three protocol type, and
  469.            if it is IP, we add the encap-
  470.            sulated IP packet to the queue
  471.            of incoming IP packets  to  be
  472.            dealt  with  by  the  existing
  473.            upper layers.
  474.  
  475.                 In order to implement the
  476.            routines  described  above, we
  477.            started with  a  few  routines
  478.            from  Phil Karn's code for the
  479.            IBM PC.  These routines encap-
  480.            sulated and decapsulated AX.25
  481.            packets.  With a few modifica-
  482.            tions these routines were made
  483.            to work in the Ultrix kernel.
  484.  
  485.                 The gateway functionality
  486.            came  for free.  The way an IP
  487.            gateway works is that  when  a
  488.            packet is received, the system
  489.                                              looks  at  its  IP  header  to
  490.                                              determine    the   destination
  491.                                              address.  If  the  destination
  492.                                              address  is  not  its  own, it
  493.                                              then  decides  which  is   the
  494.                                              correct destination interface,
  495.                                              and  which   system   is   the
  496.                                              correct next hop.  This is all
  497.                                              done at the IP layer, and  the
  498.                                              same  code  that  existed  for
  499.                                              gatewaying packets  on  ether-
  500.                                              nets  works  for AX.25 subnets
  501.                                              too.
  502.  
  503.                                              _5._2.  _A_d_d_r_e_s_s _R_e_s_o_l_u_t_i_o_n  _P_r_o_-
  504.                                              _t_o_c_o_l
  505.  
  506.                                                   The  final  task  was  to
  507.                                              translate  internet  addresses
  508.                                              into AX.25 addresses.  This is
  509.                                              done  using  ARP,  the address
  510.                                              resolution  protocol,  in  the
  511.                                              same  manner that IP addresses
  512.                                              are translated  into  ethernet
  513.                                              addresses.      But,     AX.25
  514.                                              addresses  look  like  amateur
  515.                                              radio  callsigns followed by a
  516.                                              4  bit  system  ID.   To  make
  517.                                              matters  worse,  some  entries
  518.                                              may     contain     additional
  519.                                              callsigns for digipeaters that
  520.                                              are  to  repeat  the   packet.
  521.                                              Thus, what is needed is a dif-
  522.                                              ferent set of ARP routines for
  523.                                              the  packet  radio interfaces.
  524.                                              Phil   Karn's   IBM-PC    code
  525.                                              includes an ARP implementation
  526.                                              that supports both  AX.25  and
  527.                                              ethernet  addresses.   Because
  528.                                              we did not want to modify  the
  529.                                              code  for  our  system that is
  530.                                              used on the ethernet side,  we
  531.                                              decided not to take this code.
  532.                                              ARP  lookup  occurs  at  layer
  533.                                              two,  and  thus,  gets  called
  534.                                              inside  either  the   ethernet
  535.                                              driver,  or  the AX.25 driver.
  536.                                              The routing tables at  the  IP
  537.                                              layer  determine  which driver
  538.                                              is  called.   Since  the   ARP
  539.                                              lookup occurs inside our code,
  540.                                              we are able to call a separate
  541.                                              routine  that  deals  specifi-
  542.                                              cally with AX.25 addresses.
  543.  
  544.  
  545.                                    December 6, 1988
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.            _5._3.  _C_o_n_n_e_c_t_i_o_n _m_o_d_e
  555.  
  556.                 As already discussed,  we
  557.            would  like to support connec-
  558.            tion  mode  on  our   gateway.
  559.            Doing so would allow users who
  560.            do not have the  resources  to
  561.            run   TCP/IP  to  be  able  to
  562.            access  IP  network  services.
  563.            Further,  users  can give IP a
  564.            try, and if they like it, then
  565.            they might consider running it
  566.            themselves.  However, there is
  567.            no  reason,  though, that con-
  568.            nection mode  should  be  sup-
  569.            ported in the kernel as is IP.
  570.  
  571.                 The way  our  implementa-
  572.            tion  is set up, it is easy to
  573.            allow user level process  deal
  574.            with  connection mode.  We can
  575.            tell  the  kernel  that  if  a
  576.            packet  comes in, and its pro-
  577.            tocol ID is not IP,  that  the
  578.            packet should be placed on the
  579.            input queue for the  appropri-
  580.            ate  tty line.  A user program
  581.            can then read packets that the
  582.            system   isn't  interested  in
  583.            from that line, and deal  with
  584.            the  packets  itself.  By set-
  585.            ting  appropriate   parameters
  586.            for   the  kernel,  additional
  587.            filtering could  be  provided,
  588.            though  one  would not want to
  589.            do anything too complex in the
  590.            kernel.
  591.  
  592.                 The  user  level  process
  593.            that  reads such packets would
  594.            have to keep track of any con-
  595.            nections  and  support connec-
  596.            tion mode itself.  Such a pro-
  597.            gram  could  maintain multiple
  598.            connections, and direct  input
  599.            to and output from pseudo ter-
  600.            minals.  This would allow con-
  601.            nection mode users to log into
  602.            the system.  Such  a   program
  603.            could  accept  connections  to
  604.            multiple SSIDs, thus  allowing
  605.            one  SSID  to  be used for the
  606.            transfer of  mail  with  local
  607.            non-IP bulletin boards.
  608.                                              _5._4.  _O_t_h_e_r _l_a_y_e_r _3 _p_r_o_t_o_c_o_l_s
  609.  
  610.                                                   In addition to supporting
  611.                                              connection mode, support could
  612.                                              be  provided  in   a   similar
  613.                                              manner  for other layer 3 pro-
  614.                                              tocols.  I  already  mentioned
  615.                                              how  NET/ROM  can  be  used to
  616.                                              forward IP packets.  One could
  617.                                              conceivably  support  the rest
  618.                                              of the  NET/ROM  interface  in
  619.                                              the  same manner as connection
  620.                                              mode is supported.  Of course,
  621.                                              NET/ROM  users  would not have
  622.                                              the benefit of the  additional
  623.                                              services available using IP.
  624.  
  625.                                              _6.  _U_n_r_e_s_o_l_v_e_d _i_s_s_u_e_s
  626.  
  627.                                                   The ability to  intercon-
  628.                                              nect amateur packet radio net-
  629.                                              works and non-amateur networks
  630.                                              introduces   a   few  problems
  631.                                              which have not been completely
  632.                                              resolved  as of this time.  In
  633.                                              this section, I present  those
  634.                                              problems,   and  for  some  of
  635.                                              them, I suggest some  possible
  636.                                              solutions.
  637.  
  638.                                              _6._1.  _T_i_m_e_o_u_t_s
  639.  
  640.                                                   One problem that comes up
  641.                                              is the difference in bandwidth
  642.                                              for the two  networks.   Hosts
  643.                                              on  the  ethernet  side expect
  644.                                              fast  response,  and  if  they
  645.                                              don't  get a response quickly,
  646.                                              they time out and retry  their
  647.                                              transmission.   We  have found
  648.                                              that when connected to a  sys-
  649.                                              tem on our department's ether-
  650.                                              net  from  a  machine  on  the
  651.                                              packet  side  of  the gateway,
  652.                                              the  system  on  the  ethernet
  653.                                              side   initially   retransmits
  654.                                              packets several times before a
  655.                                              response  makes it back.  This
  656.                                              results in wasted bandwidth on
  657.                                              the  radio  side as the packet
  658.                                              is  needlessly  retransmitted,
  659.                                              and  this in turn delays other
  660.                                              packets.  Fortunately for some
  661.                                              implementations  of  TCP, once
  662.  
  663.  
  664.                                    December 6, 1988
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.            the connection has been  esta-
  674.            blished,  the  system  on  the
  675.            ethernet   side   learns   the
  676.            correct  timeout,  and  things
  677.            settle down.
  678.  
  679.            _6._2.  _I_n_t_e_r_n_e_t _r_o_u_t_i_n_g
  680.  
  681.                 Routing is another  prob-
  682.            lem  that arises if we want to
  683.            allow connections to  internet
  684.            hosts  beyond our department's
  685.            ethernet.   In  order  for   a
  686.            response to come back, all the
  687.            gateways  between  the  source
  688.            and  the destination must know
  689.            the route to  the  appropriate
  690.            packet  radio subnet.  Since a
  691.            class `A' network is allocated
  692.            for  AMPRnet,  and  since most
  693.            systems by default will  main-
  694.            tain  a  single  route  for  a
  695.            class `A'  network,  only  one
  696.            path   exists   for   all   of
  697.            AMPRnet,   whereas   what   is
  698.            desired  is different gateways
  699.            for different subnets.  It  is
  700.            conceivable   that   something
  701.            like  this  could  be  handled
  702.            using ICMP[7]  redirects,  but
  703.            at  this time, no mechanism is
  704.            in place.
  705.  
  706.            _6._3.  _A_c_c_e_s_s _C_o_n_t_r_o_l
  707.  
  708.                 Another problem  we  face
  709.            is   access   control.   Since
  710.            operation  is  on  frequencies
  711.            assigned  to the amateur radio
  712.            service,   any   communication
  713.            must  be initiated by licensed
  714.            amateurs.   One  way  we   can
  715.            solve  this  is  to maintain a
  716.            table of authorized  addresses
  717.            on the non-amateur side of the
  718.            gateway.  Associated with each
  719.            of  these  addresses is a list
  720.            of hosts on the  amateur  side
  721.            of the gateway with which that
  722.            _________________________
  723.              [7] Internet Control Mes-
  724.            sage Protocol
  725.                                              host  can  communicate.   Ini-
  726.                                              tially  the  table  starts off
  727.                                              empty.  Whenever a  packet  is
  728.                                              received  on  the amateur side
  729.                                              destined  for  a   non-amateur
  730.                                              host,  an entry is made in the
  731.                                              table,   enabling   the   non-
  732.                                              amateur  host  to send packets
  733.                                              in the other direction.  After
  734.                                              a   certain  period  of  time,
  735.                                              these  entries  time  out   if
  736.                                              packets have not been received
  737.                                              from the amateur side  of  the
  738.                                              gateway.
  739.  
  740.                                                   This scheme can  be  aug-
  741.                                              mented  with  a  few  new ICMP
  742.                                              messages.   One  message   can
  743.                                              force  an  entry to be removed
  744.                                              from the table  of  authorized
  745.                                              non-amateur   systems.    This
  746.                                              allows   the   amateur   radio
  747.                                              operator  that  initiated  the
  748.                                              link to exercise  his  control
  749.                                              operator  function  to cut off
  750.                                              the link if he  detects  inap-
  751.                                              propriate  use.   Another mes-
  752.                                              sage would allow one to add an
  753.                                              authorized non-amateur host to
  754.                                              the tables with an appropriate
  755.                                              time to live.  Both these mes-
  756.                                              sage are allowed to come  from
  757.                                              either  side  of  the gateway,
  758.                                              but  if  they  come  from  the
  759.                                              non-amateur  side,  they  must
  760.                                              include  a  call  sign  and  a
  761.                                              password  of for an authorized
  762.                                              control operator for the gate-
  763.                                              way.
  764.  
  765.                                              _7.  _S_t_a_t_u_s
  766.  
  767.                                                   The packet  radio  imple-
  768.                                              mentation  of  IP  works.   We
  769.                                              have  successfully   connected
  770.                                              from  an  IBM PC with a packet
  771.                                              radio controller to a  machine
  772.                                              on  our  department's ethernet
  773.                                              using telnet.[8]  The  connec-
  774.                                              _________________________
  775.                                                [8] One of several remote
  776.                                              login protocols.
  777.  
  778.  
  779.  
  780.  
  781.                                    December 6, 1988
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.            tion  was   made   using   our
  791.            MicroVax-I  as  a gateway.  We
  792.            also were able to telnet  from
  793.            the machine on the ethernet to
  794.            the PC.
  795.  
  796.                 In the Seattle  area,  we
  797.            are using a duplex repeater as
  798.            the base for  our  local  area
  799.            network.   Our network extends
  800.            from Seattle, south to Tacoma,
  801.            west to a station on the other
  802.            side of Puget sound, and  east
  803.            to the Cascades.
  804.  
  805.                 We have not  yet  written
  806.            the  user  program  to support
  807.            connection  mode  logins,  but
  808.            that is being considered.   We
  809.            also have not  yet  done  any-
  810.            thing towards using NET/ROM to
  811.            interconnect  our  local  area
  812.            networks  with  others, but we
  813.            would like to do that soon.
  814.  
  815.            _8.  _C_o_n_c_l_u_s_i_o_n_s
  816.  
  817.                 The Unix operating system
  818.            provides   a  nice  base  upon
  819.            which network services can  be
  820.            provided   for   the   amateur
  821.            packet  radio  community.   At
  822.            the  same  time, such a system
  823.            can serve as a central node in
  824.            the  interconnection  of local
  825.            area networks running IP,  and
  826.            even  those that don't run IP.
  827.            By linking packet  radio  net-
  828.            works  with  more  established
  829.            networks, additional  services
  830.            become  available.   Such ser-
  831.            vices  are  available  in  the
  832.            Seattle  area.  These services
  833.            are necessary  if  we  are  to
  834.            interest   people  in  running
  835.            TCP/IP. Further,  interconnec-
  836.            tion  with non-IP packet radio
  837.            users is necessary if  we  are
  838.            to  interest  users  who would
  839.            like to try IP, but still want
  840.            to  maintain connectivity with
  841.            those still  using  connection
  842.            mode.
  843.                                              _9.  _A_c_k_n_o_w_l_e_d_g_m_e_n_t_s
  844.  
  845.                                                   A number of  people  were
  846.                                              helpful  in getting our imple-
  847.                                              mentation running and in  dis-
  848.                                              cussing   some  of  the  ideas
  849.                                              presented   in   this   paper.
  850.                                              Among them are Bob Albrightson
  851.                                              (N7AKR), Bob Donnell  (KD7NM),
  852.                                              Dennis  Goodwin  (KB7DZ), Mike
  853.                                              Chepponis (K3MC),  Steve  Ward
  854.                                              (W1GOH),   and   Ed   Lazowska
  855.                                              (KG7K).  Thanks  are  also  in
  856.                                              order  to  Bob Hoffman (N3CVL)
  857.                                              for typesetting this paper.
  858.  
  859.                                              _1_0.  _B_i_b_l_i_o_g_r_a_p_h_y
  860.  
  861.                                              1.   Fox, Terry L.: AX.25 Ama-
  862.                                                   teur  Packet-Radio  Link-
  863.                                                   Layer  Protocol.  Version
  864.                                                   2.0.     American   Radio
  865.                                                   Relay   league,   October
  866.                                                   1984.
  867.  
  868.                                              2.   Karn, Phil:  ``TCP/IP,  A
  869.                                                   Proposal    for   Amateur
  870.                                                   Packet Radio Levels 3 and
  871.                                                   4'', _F_o_u_r_t_h _A_R_R_L _C_o_m_p_u_t_e_r
  872.                                                   _N_e_t_w_o_r_k_i_n_g    _C_o_n_f_e_r_e_n_c_e,
  873.                                                   San Francisco, 1985.
  874.  
  875.                                              3.   Leffler, S; Joy W.; Fabry
  876.                                                   R.; Karels M.: Networking
  877.                                                   Implementation Notes  4.3
  878.                                                   BSD   Edition.   Computer
  879.                                                   Systems  Research  Group,
  880.                                                   University of California,
  881.                                                   Berkeley.  June 1986.
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.                                    December 6, 1988
  899.  
  900.  
  901. 
  902.